package com.wyh.domain.dto.feemanagementdto;

import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ChargingDTO implements Serializable {

    @ApiModelProperty(value = "id", required = true)
    private Integer id;

    @ApiModelProperty(value = "资源id")
    private Integer ResourceId;

    @ApiModelProperty(value = "客户id")
    private Integer CustomerId;

    @ApiModelProperty(value = "费项id")
    private Integer UnitPriceId;

    @ApiModelProperty(value = "计费时间")
    private DateTime BillingTime;

    @ApiModelProperty(value = "修改时间")
    private DateTime UpDateTime;

    @ApiModelProperty(value = "资源名称")
    private String ResourceName;

    @ApiModelProperty(value = "客户名称")
    private String CustomerName;

    @ApiModelProperty(value = "建筑面积")
    private Double area;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ApiModelProperty(value = "计费开始时间")
    private DateTime StartTime;

    @ApiModelProperty(value = "计费结束时间")
    private DateTime EndTime;

    @ApiModelProperty(value = "合同id")
    private Integer ContractId;

    @ApiModelProperty(value = "应收金额")
    private BigDecimal Receivable;

    @ApiModelProperty(value = "楼盘名称")
    private String PropertyName;

    @ApiModelProperty(value = "楼栋名称")
    private String BuildingName;

    @ApiModelProperty(value = "楼层名称")
    private String FloorName;

    @ApiModelProperty(value = "计费项目")
    private String BillingItemsName;

    @ApiModelProperty(value = "账单id")
    private Integer BillId;

    @ApiModelProperty(value = "计费性质（0周期性计费，1三表类计费，2一次性计费）")
    private Integer BillingNature;

    @ApiModelProperty(value = "状态（0待入账，1已入账，2已退回）")
    private Integer state;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "用量")
    private BigDecimal DoSage;

    @ApiModelProperty(value = "修改人")
    private Integer UserId;

    @ApiModelProperty(value = "退回原因")
    private String reason;
}
